package com.example.lt.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.lt.entity.json.SettingScoreJson;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * @Author 小涛Tao
 * @Date: 2024/07/26/22:34
 * version 1.0 注释：系统表
 **/
@Data
@TableName("sys_setting")
@EqualsAndHashCode(callSuper = false)
public class Setting implements Serializable {

    private static final long serialVersionUID = 1L;

    // 系统唯一记录的 id 只有 1
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    // 内容审核策略，是 json 格式的数据，读取的时候会被转成 json 格式
    private String auditPolicy;

    // 热门视频的限制，只有热度大于 hotLimit 才会被添加为热门视频
    private Double hotLimit;

    // 内容审核开关，开启：1（true）  关闭：0（false）
    private Boolean auditOpen;

    // 资源放行的 ip 地址，可以设置指定的 ip 发起的请求才会响应对应的
    private String allowIp;

    // 回源鉴权开关，开启：1（true）  关闭：0（false）
    private Boolean auth;

    // 内容审核策略解析
    @TableField(exist = false) // exist = false 标明 mybatis-plus 对实体和表进行映射时忽略此字段
    private SettingScoreJson settingScoreJson;

}
